package core.collection.mycollection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 带All方法
 *      boolean addAll(Collection c)
 *      boolean removeAll(Collection c)
 *      boolean cotainsAll(Collection c)
 *      boolean retainAll(Collection c)
 *
 * @author
 * @create 2018-12-22 17:11
 **/
public class mycollection_4_Collection_All {
    public static void main(String [] args){
        //demo_addAll();
        //demo_removeAll();
        demo_containsAll();
        //demo_retainAll();
    }

    public static void demo_addAll(){
        Collection list1 = new ArrayList();
        list1.add("a");
        list1.add("b");
        list1.add("c");

        Collection list2 = new ArrayList();
        list2.add("a");
        list2.add("b");
        list2.add("c");

        //list1.add(list2);
        list1.addAll(list2);
        System.out.println(list1);
    }

    public static void demo_removeAll(){
        Collection list1 = new ArrayList();
        list1.add("a");
        list1.add("b");
        list1.add("c");

        Collection list2 = new ArrayList();
        list2.add("a");
        list2.add("b");

        list1.removeAll(list2);
        System.out.println(list1);
    }

    public static void demo_containsAll(){
        Collection list1 = new ArrayList();
        list1.add("a");
        list1.add("b");
        list1.add("c");

        Collection list2 = new ArrayList();
        list2.add("a");
        list2.add("b");
        list2.add("d");
        boolean b = list1.containsAll(list2);
        System.out.println(b);
    }

    public static void demo_retainAll(){
        //取交集

        Collection list1 = new ArrayList();
        list1.add("a");
        list1.add("b");
        list1.add("c");

        Collection list2 = new ArrayList();
        list2.add("a");
        list2.add("b");
        list2.add("b");

        //取交集，如果调用的集合改变就返回true，如果调用的集合不变就返回false，看list1有没有变
        //交集结果赋值给list1
        boolean b = list1.retainAll(list2);
        System.out.println(b);
        System.out.println(list1);
    }
}
